/**
 * 
 */
package com.nari.baseinfo.dao;

import java.io.File;

import com.nari.baseinfo.model.IFileMapping;
import com.nari.coreframe.dao.hibernate3.IGenericDao;
import com.nari.platform.model.ResponseMsg;

/**
 * 
 * @author Xiaopeng
 * @date 2013-8-9
 */
public interface IFileMappingDao extends IGenericDao<IFileMapping, String> {

	/**
	 * 通过文件映射唯一标识删除附件信息
	 * @param fileMapUID
	 * @throws Exception
	 * @author Xiaopeng
	 * @date 2013-8-12
	 */
	public void deleteFileMapByUID(String fileMapUID) throws Exception;
	
	/**
	 * 保存上传文件到指定的目录中
	 * @param src 源上传缓存文件
	 * @param dest 目标保存文件
	 * @return
	 * @throws Exception 返回上传结果标志位
	 * @author Xiaopeng
	 * @date 2013-10-28
	 */
	public int saveUpload(File src, File dest) throws Exception;
	
	/**
	 * 附件上传存储
	 * @param attachFile 上传附件
	 * @param fileName 附件名称
	 * @param diskSavePath 附件存储的磁盘目录
	 * @param relSaveFolder 附件存储的相对目录(文件夹目录)
	 * @return 
	 * 返回信息说明：
	 * 1、附件上传成功，返回附件实体映射UID；
	 * 2、附件上传失败，返回失败信息
	 * @throws Exception
	 * @author Xiaopeng
	 * @date 2014-4-19
	 */
	public ResponseMsg saveAttachmentUpload(File attachFile, String fileName, 
			String diskSavePath, String relSaveFolder) throws Exception;
}
